#pragma once 

typedef int DataType;

typedef struct Stack
{
    DataType* array;
    int capacity;
    int size;  //栈中有多少个元素 -- 也可用来标记栈顶
}Stack;

void StackInit(Stack* ps);

void StackPush(Stack* ps, DataType data); //入栈

void StackPop(Stack* ps);  //出栈

DataType StackTop(Stack* ps); //获得栈顶元素

int StackSize(Stack* ps);

int StackEmpty(Stack* ps);  //判空而返回值是int 

void StackDestroy(Stack* ps);

